package com.sz.common.pay.pingan.core.client;

import com.sz.common.pay.common.PayLogger;
import com.sz.common.pay.pingan.constant.Constant;
import com.sz.common.pay.pingan.constant.FileConstant;
import com.sz.common.pay.pingan.constant.ResponseCode;
import com.sz.common.pay.pingan.entity.common.CommonHeadResponse;
import com.sz.common.pay.pingan.exception.OperationFailedException;
import com.sz.common.pay.pingan.exception.PayCommonException;
import com.sz.common.pay.pingan.util.CharSetUtil;
import com.sz.common.pay.pingan.util.PayExceptionUtil;

import java.util.HashMap;

/**
 * Function: 解析接收银行的报文 <br>
 * Author: siqishangshu <br>
 * Date: 2017-11-01 15:53:00
 */
public class TcpResponseConverter {

    public static final int NET_HEAD_BYTE = 222;
    public static final int TRAN_FUNC_BYTE = 226;
    public static final int REP_MSG_BYTE_INDEX = 93;
    public static final int RSP_MSG_BYTE = 193;
    public static final int HEAD_MSG_BYTE = 344;
    public static final int RSP_CODE_BYTE_INDEX = 87;
    public static final int RSP_FUNC_START_INDEX = 40;
    public static final int RSP_FUNC_END_INDEX = 46;
    public static final int RSP_TIME_START_INDEX = 53;
    public static final int RSP_TIME_END_INDEX = 67;
    private static final int ELEM_LEN = 2;
    private static PayLogger payLogger = PayLogger.getLogger(TcpResponseConverter.class);

    /**
     * 解析接收银行的报文，入参String类型
     *
     * @param sequence
     * @param TranMessage
     * @return
     * @throws OperationFailedException 结果不是000000
     * @throws PayCommonException       其它异常，一般不应该出现
     */
    public HashMap parsingTranMessage(String sequence, String TranMessage) throws OperationFailedException, PayCommonException {
        CommonHeadResponse errorMessage = new CommonHeadResponse();
        HashMap retKeyDict = new HashMap();
        int i;
        byte[] bNetHead = new byte[NET_HEAD_BYTE];
        byte[] bTranFunc = new byte[TRAN_FUNC_BYTE];
        byte[] bRspCode = new byte[REP_MSG_BYTE_INDEX];
        byte[] bRspMsg = new byte[RSP_MSG_BYTE];
        byte[] bHeadMsg = new byte[HEAD_MSG_BYTE];

      /*获取返回码*/
        byte[] codeMessage = CharSetUtil.getBytesFromStringToGBK(TranMessage);
        for (i = 0; i < REP_MSG_BYTE_INDEX; i++) {
            bRspCode[i] = codeMessage[i];
        }
        String sRspHead = CharSetUtil.getStringFromBytesToGBK(bRspCode);

        //time and logNo sTrade  code
        String sTradeCode = sRspHead.substring(RSP_FUNC_START_INDEX, RSP_FUNC_END_INDEX);

        errorMessage.setTranDateTime(sRspHead.substring(RSP_TIME_START_INDEX, RSP_TIME_END_INDEX));
        retKeyDict.put(Constant.RSP_TIME, sRspHead.substring(RSP_TIME_START_INDEX, RSP_TIME_END_INDEX));

        errorMessage.setThirdLogNo(sRspHead.substring(RSP_TIME_END_INDEX, RSP_CODE_BYTE_INDEX));
        retKeyDict.put(Constant.RSP_LOG_NO, sRspHead.substring(RSP_TIME_END_INDEX, RSP_CODE_BYTE_INDEX));

        errorMessage.setRspCode(sRspHead.substring(RSP_CODE_BYTE_INDEX));
        retKeyDict.put(Constant.RSP_CODE, sRspHead.substring(RSP_CODE_BYTE_INDEX));

      /*获取返回信息*/
        byte[] rspMessage = CharSetUtil.getBytesFromStringToGBK(TranMessage);
        for (i = 0; i < RSP_MSG_BYTE; i++) {
            bRspMsg[i] = rspMessage[i];
        }
        String sRspMsg = CharSetUtil.getStringFromBytesToGBK(bRspMsg);
        sRspMsg = sRspMsg.substring(REP_MSG_BYTE_INDEX).trim();
        retKeyDict.put(Constant.RSP_MSG, sRspMsg);
        errorMessage.setRspMsg(sRspMsg);

        String strCode = (String) retKeyDict.get(Constant.RSP_CODE);

        if (!Constant.TRADE_CODE.equals(sTradeCode)) {
            byte[] bodyMessage = CharSetUtil.getBytesFromStringToGBK(TranMessage);
            String sBodyMsg = CharSetUtil.getStringFromBytesToGBK(bodyMessage);
            int iLength = 218;
            if (iLength < sBodyMsg.length()) {
                sBodyMsg = sBodyMsg.substring(iLength);
                retKeyDict.put(Constant.BOBY_MSG, sBodyMsg);
                spiltXmlMessage(retKeyDict, sTradeCode);
            }
            return retKeyDict;
        }
        if (Constant.SUCCEED.equals(strCode)) {
        /*获取交易码 */
            byte[] tranFuncMessage = CharSetUtil.getBytesFromStringToGBK(TranMessage);
            for (i = 0; i < TRAN_FUNC_BYTE; i++) {
                bTranFunc[i] = tranFuncMessage[i];
            }
            String sTranFunc = CharSetUtil.getStringFromBytesToGBK(bTranFunc);

            for (i = 0; i < NET_HEAD_BYTE; i++) {
                bNetHead[i] = tranFuncMessage[i];
            }
            String sNetHead = CharSetUtil.getStringFromBytesToGBK(bNetHead);

            int iTranLength = sNetHead.length();
            sTranFunc = sTranFunc.substring(iTranLength);
            retKeyDict.put(Constant.TRAN_FUNC, sTranFunc);

      /*获取返回报文体*/
            byte[] bodyMessage = CharSetUtil.getBytesFromStringToGBK(TranMessage);
            String sBodyMsg = CharSetUtil.getStringFromBytesToGBK(bodyMessage);
            for (i = 0; i < HEAD_MSG_BYTE; i++) {
                bHeadMsg[i] = bodyMessage[i];
            }
            String sHeadMsg = CharSetUtil.getStringFromBytesToGBK(bHeadMsg);
            int iLength = sHeadMsg.length();
            sBodyMsg = sBodyMsg.substring(iLength);
            retKeyDict.put(Constant.BOBY_MSG, sBodyMsg);

      /*解析报文体*/
            spiltMessage(retKeyDict);
            return retKeyDict;
        }
        payLogger.error(sequence, errorMessage.toString());
        PayExceptionUtil.throwOperationFailedException("Request Failed", errorMessage);
        throw new OperationFailedException();
    }

    private void spiltXmlMessage(HashMap retKeyDict, String sTradeCode) throws PayCommonException {
        String file_code = "FILE";
        int tranFunc = Integer.parseInt(sTradeCode.replace(file_code, ""));
        switch (tranFunc) {
            case 02:
                // FILE02文件上传和下载进度查询
                spiltXmlMessage_FILE_COMM(retKeyDict);
                break;
            default:
                PayExceptionUtil.throwPayCommonException("不支持的交易类型 :", ResponseCode.ERR935);
        }
    }

    private void spiltXmlMessage_FILE_COMM(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String body = delXmlHeadAndFoot(bodyMessage);
            body = body.substring(1, body.length() - 1);
            for (String elem : body.split(FileConstant.XML_RI + FileConstant.XML_LE)) {
                int index = elem.indexOf(FileConstant.XML_LE);
                elem = elem.substring(0, index);
                String[] arr = elem.split(FileConstant.XML_RI);
                if (arr.length == ELEM_LEN) {
                    retKeyDict.put(arr[0], arr[1]);
                }
            }
        }
    }


    private static String delXmlHeadAndFoot(String body) {
        String newBody = body.replace(FileConstant.XML_VERSION_ENCODEING, "");
        newBody = newBody.replace(FileConstant.XML_LE + FileConstant.XML_E + FileConstant.XML_ROOT + FileConstant.XML_RI, "");
        newBody = newBody.replace(FileConstant.XML_LE + FileConstant.XML_ROOT + FileConstant.XML_RI, "");
        newBody = newBody.replace("\n", "");
        return newBody;
    }

    private void spiltMessage(HashMap retKeyDict) throws PayCommonException {
        int tranFunc = Integer.parseInt((String) retKeyDict.get(Constant.TRAN_FUNC));
        switch (tranFunc) {
            case 6000://会员子账户开立 【6000】
                spiltMessage_6000(retKeyDict);
                break;
            case 6005://会员提现【6005】 （验证）
                spiltMessage_HandFee(retKeyDict);
                break;
            case 6006://会员交易【6006】（验密）
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6007://会员资金冻结【6007】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6008:// 登记挂账【6008】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6010://查询银行子账户余额【6010】
                spiltMessage_6010(retKeyDict);
                break;
            case 6011://查询资金汇总账户余额【6011】
                spiltMessage_6011(retKeyDict);
                break;
            case 6014://查询银行单笔交易明细【6014】
                spiltMessage_6014(retKeyDict);
                break;
            case 6031://平台订单管理【6031】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6033://会员提现【6033】 （不验证）
                spiltMessage_HandFee(retKeyDict);
                break;
            case 6034://会员间交易【6034】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6043:
                spiltMessage_6043(retKeyDict);
                break;
            case 6044:
                spiltMessage_6044(retKeyDict);
                break;
            case 6048://查询银行提现退单信息【6048】
                spiltMessage_6048(retKeyDict);
                break;
            case 6050://查询普通转账充值明细【6050】
                spiltMessage_6050(retKeyDict);
                break;
            case 6052://会员批量交易【6052】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6053://会员批量清分【6053】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6055://会员绑定提现账户-小额鉴权【6055】
                spiltMessage_Reserve(retKeyDict);
                break;
            case 6056://会员充值(在途)【6056】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6061://查询小额鉴权转账结果【6061】
                spiltMessage_6061(retKeyDict);
                break;
            case 6064://验证鉴权金额 【6064】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6065://会员解绑提现账户【6065】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6066://会员绑定提现账户 银联鉴权【6066】
                spiltMessage_Reserve(retKeyDict);
                break;
            case 6067://会员绑定提现账户-回填银联鉴权短信码【6067】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6070://会员资金支付【6070】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6072://查询银行时间段内交易明细【6072】
                spiltMessage_6072(retKeyDict);
                break;
            case 6073://查询银行时间段内清分提现明细【6073】
                spiltMessage_6073(retKeyDict);
                break;
            case 6037://查询会员子账号【6037】
                spiltMessage_6037(retKeyDict);
                break;
            case 6077://交易撤销【6077】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6079://提现与清分对账接口【6079】
                spiltMessage_6079(retKeyDict);
                break;
            case 6080://会员交易明细对账接口【6080】
                spiltMessage_6080(retKeyDict);
                break;
            case 6082://申请提现或支付短信动态码【6082】
                spiltMessage_Phone(retKeyDict);
                break;
            case 6083://申请修改手机号码【6083】
                spiltMessage_Phone(retKeyDict);
                break;
            case 6084://回填动态码-修改手机 【6084】
                spiltMessage_Reserve(retKeyDict);
                break;
            case 6085://会员提现（支持手续费、短信验证）【6085】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6087:
                spiltMessage_6087(retKeyDict);
                break;
            case 6090:
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6091:
                spiltMessage_6091(retKeyDict);
                break;
            case 6092://根据会员代码查询会员子账号【6092】
                spiltMessage_6092(retKeyDict);
                break;
            case 6098://会员绑定信息查询 【6098】
                spiltMessage_6098(retKeyDict);
                break;
            case 6100:
                spiltMessage_6100(retKeyDict);
                break;
            case 6101://会员间交易（验证短信动态码）【6101】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 6102:
                spiltMessage_6102(retKeyDict);
                break;
            case 6103://查询对账文件信息【6103】
                spiltMessage_6103(retKeyDict);
                break;
            case 6108://查询银行在途清算结果【6108】
                spiltMessage_6108(retKeyDict);
                break;
            case 6109://查询银行费用扣收结果【6109】
                spiltMessage_6109(retKeyDict);
                break;
            case 6110://查询银行单笔交易状态(6094优化版)【6110】
                spiltMessage_6014(retKeyDict);
                break;
            case 6114://查询子帐号历史余额及待转可提现状态信息【6114】
                spiltMessage_6114(retKeyDict);
                break;
            case 6089://会员绑定提现账户-不验证【6089】
                spiltMessage_Reserve(retKeyDict);
                break;
            case 6088://会员子账户开立 （绑定提现账户-银联鉴权）【6088】
                spiltMessage_6088(retKeyDict);
                break;
            case 6097://会员子账户开立 （绑定提现账户-回填短信验证码）【6097】
                spiltMessage_6097(retKeyDict);
                break;
            case 6099://查询会员子账号基本信息【6099】
                spiltMessage_6099(retKeyDict);
                break;
            case 6093://查询会员子账号余额【6093】
                spiltMessage_6093(retKeyDict);
                break;
            case 6138://维护会员绑定提现账户联行号【6138】
                spiltMessage_Reserve(retKeyDict);
                break;
            case 6142://查询明细单验证码【6142】
                spiltMessage_6142(retKeyDict);
                break;
            //TODO NEW
            case 1317:
                //出金确认（用于银行发起的异步出金）1317】
                spiltMessage_1317(retKeyDict);
                break;
            case 1318:
                //出金（交易网发起）【1318】
                spiltMessage_1318(retKeyDict);
                break;
            case 1010:
                //查银行端会员资金台帐余额【1010】
                spiltMessage_1010(retKeyDict);
                break;
            case 1021:
                //监管账户信息查询【1021】
                spiltMessage_1021(retKeyDict);
                break;
            case 1016:
                //查时间段会员开销户信息【1016】
                spiltMessage_1016(retKeyDict);
                break;
            case 1324:
                //查询时间段会员交易流水信息【1324】
                spiltMessage_1324(retKeyDict);
                break;
            case 1325:
                //查询时间段会员出入金流水信息【1325】
                spiltMessage_1325(retKeyDict);
                break;
            case 1327:
                //查询支付指令状态【1327】
                spiltMessage_1327(retKeyDict);
                break;
            case 1349:
                //查询对账文件密码【1349】
                spiltMessage_1349(retKeyDict);
                break;
            case 1330:
                //签到、签退【1330】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 1328:
                //子账户复核支付【1328】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 1331:
                //平台操作支付【1331】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 1332:
                //子账户间支付【1332】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 1029:
                //子账户冻结解冻【1029】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 1030:
                //平台收费与退费【1030】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 1031:
                //平台支付与收取【1031】
                spiltMessage_FrontLogNo(retKeyDict);
                break;
            case 1351:
                //查询账户回单明细【1351】
                spiltMessage_1351(retKeyDict);
                break;
            case 1352:
                //查询回单号验证码【1352】
                spiltMessage_1352(retKeyDict);
                break;
            default:
                PayExceptionUtil.throwPayCommonException("不支持的交易类型 :", ResponseCode.ERR935);
        }
    }

    private void spiltMessage_1352(HashMap retKeyDict) {


        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("ReceptNo", arryMessage[0]);
            retKeyDict.put("CheckCode", arryMessage[1]);
            retKeyDict.put("Reserve", arryMessage[2]);
        }
    }

    private void spiltMessage_1351(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 14 + 4];

            String[] ReceptNo = new String[iCount];
            String[] MainAcctId = new String[iCount];
            String[] AcctDate = new String[iCount];
            String[] TradeDate = new String[iCount];
            String[] PayerAcc = new String[iCount];
            String[] PayerName = new String[iCount];
            String[] PayerOpenBankName = new String[iCount];
            String[] PayeeAcc = new String[iCount];
            String[] PayeeName = new String[iCount];
            String[] PayeeOpenBankName = new String[iCount];
            String[] TranAmount = new String[iCount];
            String[] CcyCode = new String[iCount];
            String[] DcFlag = new String[iCount];
            String[] CRPP = new String[iCount];

            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    ReceptNo[index] = array[i++];
                    MainAcctId[index] = array[i++];
                    AcctDate[index] = array[i++];
                    TradeDate[index] = array[i++];
                    PayerAcc[index] = array[i++];
                    PayerName[index] = array[i++];
                    PayerOpenBankName[index] = array[i++];
                    PayeeAcc[index] = array[i++];
                    PayeeName[index] = array[i++];
                    PayeeOpenBankName[index] = array[i++];
                    TranAmount[index] = array[i++];
                    CcyCode[index] = array[i++];
                    DcFlag[index] = array[i++];
                    CRPP[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("ReceptNo", ReceptNo);
            retKeyDict.put("MainAcctId", MainAcctId);
            retKeyDict.put("AcctDate", AcctDate);
            retKeyDict.put("TradeDate", TradeDate);
            retKeyDict.put("PayerAcc", PayerAcc);
            retKeyDict.put("PayerName", PayerName);
            retKeyDict.put("PayerOpenBankName", PayerOpenBankName);
            retKeyDict.put("PayeeAcc", PayeeAcc);
            retKeyDict.put("PayeeName", PayeeName);
            retKeyDict.put("PayeeOpenBankName", PayeeOpenBankName);
            retKeyDict.put("TranAmount", TranAmount);
            retKeyDict.put("CcyCode", CcyCode);
            retKeyDict.put("DcFlag", DcFlag);
            retKeyDict.put("CRPP", CRPP);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_1349(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("FileName", arryMessage[0]);
            retKeyDict.put("FilePSW", arryMessage[1]);
            retKeyDict.put("FileExist", arryMessage[2]);
            retKeyDict.put("Reserve", arryMessage[3]);
        }
    }

    private void spiltMessage_1327(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("Status", arryMessage[0]);
            retKeyDict.put("TranAmount", arryMessage[1]);
            retKeyDict.put("OutCustAcctId", arryMessage[2]);
            retKeyDict.put("OutThirdCustId", arryMessage[3]);
            retKeyDict.put("InCustAcctId", arryMessage[4]);
            retKeyDict.put("InThirdCustId", arryMessage[5]);
            retKeyDict.put("ThirdHtId", arryMessage[6]);
            retKeyDict.put("ChangeDate", arryMessage[7]);
            retKeyDict.put("Reserve", arryMessage[8]);
        }

    }

    private void spiltMessage_1325(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 9 + 4];

            String[] ThirdLogNo = new String[iCount];
            String[] FrontLogNo = new String[iCount];
            String[] TranFlag = new String[iCount];
            String[] TranStatus = new String[iCount];
            String[] TranAmount = new String[iCount];
            String[] CustAcctId = new String[iCount];
            String[] ThirdCustId = new String[iCount];
            String[] TranDate = new String[iCount];
            String[] AcctDate = new String[iCount];

            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    ThirdLogNo[index] = array[i++];
                    FrontLogNo[index] = array[i++];
                    TranFlag[index] = array[i++];
                    TranStatus[index] = array[i++];
                    TranAmount[index] = array[i++];
                    CustAcctId[index] = array[i++];
                    ThirdCustId[index] = array[i++];
                    TranDate[index] = array[i++];
                    AcctDate[index] = array[i++];
                    index++;
                }
            }

            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("ThirdLogNo", ThirdLogNo);
            retKeyDict.put("FrontLogNo", FrontLogNo);
            retKeyDict.put("TranFlag", TranFlag);
            retKeyDict.put("TranStatus", TranStatus);
            retKeyDict.put("TranAmount", TranAmount);
            retKeyDict.put("CustAcctId", CustAcctId);
            retKeyDict.put("ThirdCustId", ThirdCustId);
            retKeyDict.put("TranDate", TranDate);
            retKeyDict.put("AcctDate", AcctDate);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_1324(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 10 + 4];

            String[] ThirdLogNo = new String[iCount];
            String[] FrontLogNo = new String[iCount];
            String[] TranFlag = new String[iCount];
            String[] TranStatus = new String[iCount];
            String[] TranAmount = new String[iCount];
            String[] OutCustAcctId = new String[iCount];
            String[] OutThirdCustId = new String[iCount];
            String[] InCustAcctId = new String[iCount];
            String[] InThirdCustId = new String[iCount];
            String[] TranDate = new String[iCount];

            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    ThirdLogNo[index] = array[i++];
                    FrontLogNo[index] = array[i++];
                    TranFlag[index] = array[i++];
                    TranStatus[index] = array[i++];
                    TranAmount[index] = array[i++];
                    OutCustAcctId[index] = array[i++];
                    OutThirdCustId[index] = array[i++];
                    InCustAcctId[index] = array[i++];
                    InThirdCustId[index] = array[i++];
                    TranDate[index] = array[i++];
                    index++;
                }
            }

            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("ThirdLogNo", ThirdLogNo);
            retKeyDict.put("FrontLogNo", FrontLogNo);
            retKeyDict.put("TranFlag", TranFlag);
            retKeyDict.put("TranStatus", TranStatus);
            retKeyDict.put("TranAmount", TranAmount);
            retKeyDict.put("OutCustAcctId", OutCustAcctId);
            retKeyDict.put("OutThirdCustId", OutThirdCustId);
            retKeyDict.put("InCustAcctId", InCustAcctId);
            retKeyDict.put("InThirdCustId", InThirdCustId);
            retKeyDict.put("TranDate", TranDate);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_1016(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 8 + 4];

            String[] FrontLogNo = new String[iCount];
            String[] UserStatus = new String[iCount];
            String[] CustAcctId = new String[iCount];
            String[] CustFlag = new String[iCount];
            String[] CustName = new String[iCount];
            String[] ThirdCustId = new String[iCount];
            String[] TranDate = new String[iCount];
            String[] CounterId = new String[iCount];

            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    FrontLogNo[index] = array[i++];
                    UserStatus[index] = array[i++];
                    CustAcctId[index] = array[i++];
                    CustFlag[index] = array[i++];
                    CustName[index] = array[i++];
                    ThirdCustId[index] = array[i++];
                    TranDate[index] = array[i++];
                    CounterId[index] = array[i++];
                    index++;
                }
            }

            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("FrontLogNo", FrontLogNo);
            retKeyDict.put("UserStatus", UserStatus);
            retKeyDict.put("CustAcctId", CustAcctId);
            retKeyDict.put("CustFlag", CustFlag);
            retKeyDict.put("CustName", CustName);
            retKeyDict.put("ThirdCustId", ThirdCustId);
            retKeyDict.put("TranDate", TranDate);
            retKeyDict.put("CounterId", CounterId);
            retKeyDict.put("reserve", reserve);
        }
    }

    private void spiltMessage_1021(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("RecordNum", arryMessage[0]);
            retKeyDict.put("TranWebCode", arryMessage[1]);
            retKeyDict.put("TranWebName", arryMessage[2]);
            retKeyDict.put("AcctId", arryMessage[3]);
            retKeyDict.put("AcctName", arryMessage[4]);
            retKeyDict.put("IdType", arryMessage[5]);
            retKeyDict.put("IdCode", arryMessage[6]);
            retKeyDict.put("WebName", arryMessage[7]);
            retKeyDict.put("WebCustId", arryMessage[8]);
            retKeyDict.put("MobilePhone1", arryMessage[9]);
            retKeyDict.put("MobilePhone2", arryMessage[10]);
            retKeyDict.put("EmailAddr1", arryMessage[11]);
            retKeyDict.put("EmailAddr2", arryMessage[12]);
            retKeyDict.put("FuncFlag", arryMessage[13]);
            retKeyDict.put("OpenCustFlag", arryMessage[14]);
            retKeyDict.put("CcyCode", arryMessage[15]);
            retKeyDict.put("CurBalance", arryMessage[16]);
            retKeyDict.put("TotalAmount", arryMessage[17]);
            retKeyDict.put("TranOutAmount", arryMessage[18]);
            retKeyDict.put("TotalBalance", arryMessage[19]);
            retKeyDict.put("TotalFreeze", arryMessage[20]);
            retKeyDict.put("CustTotal", arryMessage[21]);
            retKeyDict.put("CustAvailTotal", arryMessage[22]);
            retKeyDict.put("TranDate", arryMessage[23]);
            retKeyDict.put("Reserve", arryMessage[24]);
        }
    }

    private void spiltMessage_1010(HashMap retKeyDict) {

        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 11 + 4];

            String[] CustAcctId = new String[iCount];
            String[] CustFlag = new String[iCount];
            String[] CustType = new String[iCount];
            String[] CustStatus = new String[iCount];
            String[] ThirdCustId = new String[iCount];
            String[] MainAcctId = new String[iCount];
            String[] CustName = new String[iCount];
            String[] TotalAmount = new String[iCount];
            String[] TotalBalance = new String[iCount];
            String[] TotalFreezeAmount = new String[iCount];
            String[] TranDate = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    CustAcctId[index] = array[i++];
                    CustFlag[index] = array[i++];
                    CustType[index] = array[i++];
                    CustStatus[index] = array[i++];
                    ThirdCustId[index] = array[i++];
                    MainAcctId[index] = array[i++];
                    CustName[index] = array[i++];
                    TotalAmount[index] = array[i++];
                    TotalBalance[index] = array[i++];
                    TotalFreezeAmount[index] = array[i++];
                    TranDate[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("CustAcctId", CustAcctId);
            retKeyDict.put("CustFlag", CustFlag);
            retKeyDict.put("CustType", CustType);
            retKeyDict.put("CustStatus", CustStatus);
            retKeyDict.put("ThirdCustId", ThirdCustId);
            retKeyDict.put("MainAcctId", MainAcctId);
            retKeyDict.put("CustName", CustName);
            retKeyDict.put("TotalAmount", TotalAmount);
            retKeyDict.put("TotalBalance", TotalBalance);
            retKeyDict.put("TotalFreezeAmount", TotalFreezeAmount);
            retKeyDict.put("TranDate", TranDate);
            retKeyDict.put("reserve", reserve);
        }
    }

    private void spiltMessage_1318(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("FrontLogNo", arryMessage[0]);
            retKeyDict.put("HandFee", arryMessage[1]);
            retKeyDict.put("FeeOutCustId", arryMessage[2]);
            retKeyDict.put("Reserve", arryMessage[3]);
        }
    }

    private void spiltMessage_1317(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("FrontLogNo", arryMessage[0]);
            retKeyDict.put("HandFee", arryMessage[1]);
            retKeyDict.put("FeeOutCustId", arryMessage[2]);
            retKeyDict.put("Reserve", arryMessage[3]);
        }
    }

    private void spiltMessage_6142(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("OldFrontlogno", arryMessage[0]);
            retKeyDict.put("CheckCode", arryMessage[1]);
            retKeyDict.put("Reserve", arryMessage[2]);
        }
    }

    private void spiltMessage_6093(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("ThirdCustId", arryMessage[0]);
            retKeyDict.put("TotalBalance", arryMessage[1]);
            retKeyDict.put("TotalFreezeAmount", arryMessage[2]);
            retKeyDict.put("Reserve", arryMessage[3]);
        }
    }

    private void spiltMessage_6099(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            retKeyDict.put("ThirdCustId", arryMessage[0]);
            retKeyDict.put("TotalBalance", arryMessage[1]);
            retKeyDict.put("TotalFreezeAmount", arryMessage[2]);
            retKeyDict.put("Reserve", arryMessage[3]);
        }
    }

    private void spiltMessage_6097(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            retKeyDict.put("CustAcctId", arryMessage[0]);
            retKeyDict.put("ThirdCustId", arryMessage[1]);
            retKeyDict.put("Reserve", arryMessage[2]);
        }
    }

    private void spiltMessage_6088(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);

            retKeyDict.put("CustAcctId", arryMessage[0]);
            retKeyDict.put("ThirdCustId", arryMessage[1]);
            retKeyDict.put("Reserve", arryMessage[2]);
        }
    }

    private void spiltMessage_6000(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String custAcctId = arryMessage[0];
            String reserve = arryMessage[1];

            retKeyDict.put("CustAcctId", custAcctId);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_Reserve(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String reserve = arryMessage[0];

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_FrontLogNo(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String FrontLogNo = arryMessage[0];
            String reserve = arryMessage[1];

            retKeyDict.put("FrontLogNo", FrontLogNo);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_HandFee(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String FrontLogNo = arryMessage[0];
            String HandFee = arryMessage[1];
            String reserve = arryMessage[2];

            retKeyDict.put("FrontLogNo", FrontLogNo);
            retKeyDict.put("HandFee", HandFee);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6014(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TranFlag = arryMessage[0];
            String TranStatus = arryMessage[1];
            String TranAmount = arryMessage[2];
            String TranDate = arryMessage[3];
            String TranTime = arryMessage[4];
            String InCustAcctId = arryMessage[5];
            String OutCustAcctId = arryMessage[6];
            String reserve = arryMessage[7];

            retKeyDict.put("TranFlag", TranFlag);
            retKeyDict.put("TranStatus", TranStatus);
            retKeyDict.put("TranAmount", TranAmount);
            retKeyDict.put("TranDate", TranDate);
            retKeyDict.put("TranTime", TranTime);
            retKeyDict.put("InCustAcctId", InCustAcctId);
            retKeyDict.put("OutCustAcctId", OutCustAcctId);
            retKeyDict.put("Reserve", reserve);
        }
    }


    private void spiltMessage_6048(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            int iCount = Integer.parseInt(TotalCount);
            int iBegin = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            int iEnd1 = bodyMessage.lastIndexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin + 1, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 5 + 1];

            String[] sFrontLogNo = new String[iCount];
            String[] sThirdLogNo = new String[iCount];
            String[] sRemark = new String[iCount];
            String[] sWithDrawRemark = new String[iCount];
            String[] sWithDrawDate = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sFrontLogNo[index] = array[i++];
                    sThirdLogNo[index] = array[i++];
                    sRemark[index] = array[i++];
                    sWithDrawRemark[index] = array[i++];
                    sWithDrawDate[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);

            retKeyDict.put("FrontLogNo", sFrontLogNo);
            retKeyDict.put("ThirdLogNo", sThirdLogNo);
            retKeyDict.put("Remark", sRemark);
            retKeyDict.put("WithDrawRemark", sWithDrawRemark);
            retKeyDict.put("WithDrawDate", sWithDrawDate);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6103(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            int iCount = Integer.parseInt(TotalCount);
            int iBegin = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            int iEnd1 = bodyMessage.lastIndexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin + 1, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 2 + 1];

            String[] sFileName = new String[iCount];
            String[] sKey = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sFileName[index] = array[i++];
                    sKey[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);

            retKeyDict.put("FileName", sFileName);
            retKeyDict.put("Key", sKey);

            retKeyDict.put("Reserve", reserve);
        }
    }


    private void spiltMessage_6042(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TranType = arryMessage[0];
            String TranStatus = arryMessage[1];
            String TranAmount = arryMessage[2];
            String TranDate = arryMessage[3];
            String TranTime = arryMessage[4];
            String reserve = arryMessage[5];

            retKeyDict.put("TranType", TranType);
            retKeyDict.put("TranStatus", TranStatus);
            retKeyDict.put("TranAmount", TranAmount);
            retKeyDict.put("TranDate", TranDate);
            retKeyDict.put("TranTime", TranTime);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6043(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String Balance = arryMessage[0];
            String TotalIncome = arryMessage[1];
            String WeekIncome = arryMessage[2];
            String LastIncome = arryMessage[3];
            String reserve = arryMessage[4];

            retKeyDict.put("Balance", Balance);
            retKeyDict.put("TotalIncome", TotalIncome);
            retKeyDict.put("WeekIncome", WeekIncome);
            retKeyDict.put("LastIncome", LastIncome);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6044(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 6 + 4];
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("ArrayContent", ArrayContent);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6050(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 2 + 4];

            String[] sTranType = new String[iCount];
            String[] sThirdCustId = new String[iCount];
            String[] sCustAcctId = new String[iCount];
            String[] sTranAmount = new String[iCount];
            String[] sInAcctId = new String[iCount];
            String[] sInAcctIdName = new String[iCount];
            String[] sCcyCode = new String[iCount];
            String[] sAcctDate = new String[iCount];
            String[] sBankName = new String[iCount];
            String[] sNote = new String[iCount];
            String[] sFrontLogNo = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sTranType[index] = array[i++];
                    sThirdCustId[index] = array[i++];
                    sCustAcctId[index] = array[i++];
                    sTranAmount[index] = array[i++];
                    sInAcctId[index] = array[i++];
                    sInAcctIdName[index] = array[i++];
                    sCcyCode[index] = array[i++];
                    sAcctDate[index] = array[i++];
                    sBankName[index] = array[i++];
                    sNote[index] = array[i++];
                    sFrontLogNo[index] = array[i++];
                    index++;
                }
            }

            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("TranType", sTranType);
            retKeyDict.put("ThirdCustId", sThirdCustId);
            retKeyDict.put("CustAcctId", sCustAcctId);
            retKeyDict.put("TranAmount", sTranAmount);
            retKeyDict.put("InAcctId", sInAcctId);
            retKeyDict.put("InAcctIdName", sInAcctIdName);
            retKeyDict.put("CcyCode", sCcyCode);
            retKeyDict.put("AcctDate", sAcctDate);
            retKeyDict.put("BankName", sBankName);
            retKeyDict.put("Note", sNote);
            retKeyDict.put("FrontLogNo", sFrontLogNo);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6072(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 10 + 4];

            String[] sTranFlag = new String[iCount];
            String[] sTranStatus = new String[iCount];
            String[] sTranAmount = new String[iCount];
            String[] sTranDate = new String[iCount];
            String[] sTranTime = new String[iCount];
            String[] sFrontLogNo = new String[iCount];
            String[] sKeepType = new String[iCount];
            String[] sInCustAcctId = new String[iCount];
            String[] sOutCustAcctId = new String[iCount];
            String[] sNote = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sTranFlag[index] = array[i++];
                    sTranStatus[index] = array[i++];
                    sTranAmount[index] = array[i++];
                    sTranDate[index] = array[i++];
                    sTranTime[index] = array[i++];
                    sFrontLogNo[index] = array[i++];
                    sKeepType[index] = array[i++];
                    sInCustAcctId[index] = array[i++];
                    sOutCustAcctId[index] = array[i++];
                    sNote[index] = array[i++];
                    index++;
                }
            }

            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("TranFlag", sTranFlag);
            retKeyDict.put("TranStatus", sTranStatus);
            retKeyDict.put("TranAmount", sTranAmount);
            retKeyDict.put("TranDate", sTranDate);
            retKeyDict.put("TranTime", sTranTime);
            retKeyDict.put("FrontLogNo", sFrontLogNo);
            retKeyDict.put("KeepType", sKeepType);
            retKeyDict.put("InCustAcctId", sInCustAcctId);
            retKeyDict.put("OutCustAcctId", sOutCustAcctId);
            retKeyDict.put("Note", sNote);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6073(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 12 + 4];

            String[] sTranFlag = new String[iCount];
            String[] sTranStatus = new String[iCount];
            String[] sFuncMsg = new String[iCount];
            String[] sThirdCustId = new String[iCount];
            String[] sCustAcctId = new String[iCount];
            String[] sCustName = new String[iCount];
            String[] sTranAmount = new String[iCount];
            String[] sHandFee = new String[iCount];
            String[] sTranDate = new String[iCount];
            String[] sTranTime = new String[iCount];
            String[] sFrontLogNo = new String[iCount];
            String[] sNote = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sTranFlag[index] = array[i++];
                    sTranStatus[index] = array[i++];
                    sFuncMsg[index] = array[i++];
                    sThirdCustId[index] = array[i++];
                    sCustAcctId[index] = array[i++];
                    sCustName[index] = array[i++];
                    sTranAmount[index] = array[i++];
                    sHandFee[index] = array[i++];
                    sTranDate[index] = array[i++];
                    sTranTime[index] = array[i++];
                    sFrontLogNo[index] = array[i++];
                    sNote[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("TranFlag", sTranFlag);
            retKeyDict.put("TranStatus", sTranStatus);
            retKeyDict.put("FuncMsg", sFuncMsg);
            retKeyDict.put("ThirdCustId", sThirdCustId);
            retKeyDict.put("CustAcctId", sCustAcctId);
            retKeyDict.put("CustName", sCustName);
            retKeyDict.put("TranAmount", sTranAmount);
            retKeyDict.put("HandFee", sHandFee);
            retKeyDict.put("TranDate", sTranDate);
            retKeyDict.put("TranTime", sTranTime);
            retKeyDict.put("FrontLogNo", sFrontLogNo);
            retKeyDict.put("Note", sNote);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6061(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arrayMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String ReturnStatus = arrayMessage[0];
            String ReturnMsg = arrayMessage[1];
            String Reserve = arrayMessage[2];

            retKeyDict.put("ReturnStatus", ReturnStatus);
            retKeyDict.put("ReturnMsg", ReturnMsg);
            retKeyDict.put("Reserve", Reserve);
        }
    }

    private void spiltMessage_6087(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arrayMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String FrontLogNo = arrayMessage[0];
            String ClientNo = arrayMessage[1];
            String CustAcctId = arrayMessage[2];
            String Reserve = arrayMessage[2];

            retKeyDict.put("FrontLogNo", FrontLogNo);
            retKeyDict.put("ClientNo", ClientNo);
            retKeyDict.put("CustAcctId", CustAcctId);
            retKeyDict.put("Reserve", Reserve);
        }
    }

    private void spiltMessage_6091(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arrayMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String ResultFlag = arrayMessage[0];
            String ReturnFlag = arrayMessage[1];
            String Remark = arrayMessage[2];
            String Reserve = arrayMessage[3];

            retKeyDict.put("ResultFlag", ResultFlag);
            retKeyDict.put("ReturnFlag", ReturnFlag);
            retKeyDict.put("Remark", Remark);
            retKeyDict.put("Reserve", Reserve);
        }
    }


    private void spiltMessage_6100(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arrayMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String FrontLogNo = arrayMessage[0];
            String DealStatus = arrayMessage[1];
            String Reserve = arrayMessage[2];

            retKeyDict.put("FrontLogNo", FrontLogNo);
            retKeyDict.put("DealStatus", DealStatus);
            retKeyDict.put("Reserve", Reserve);
        }
    }

    private void spiltMessage_6102(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arrayMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String ThirdCustId = arrayMessage[0];
            String OrangeDoorStatus = arrayMessage[1];
            String OrangeDoorDesc = arrayMessage[2];
            String SCFPID = arrayMessage[3];
            String OrangePayStatus = arrayMessage[4];
            String OrangePayDesc = arrayMessage[5];
            String WpAccNo = arrayMessage[6];
            String Reserve = arrayMessage[7];

            retKeyDict.put("ThirdCustId", ThirdCustId);
            retKeyDict.put("OrangeDoorStatus", OrangeDoorStatus);
            retKeyDict.put("OrangeDoorDesc", OrangeDoorDesc);
            retKeyDict.put("SCFPID", SCFPID);
            retKeyDict.put("OrangePayStatus", OrangePayStatus);
            retKeyDict.put("OrangePayDesc", OrangePayDesc);
            retKeyDict.put("WpAccNo", WpAccNo);
            retKeyDict.put("Reserve", Reserve);
        }
    }

    private void spiltMessage_6079(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 12 + 4];

            String[] sTranFlag = new String[iCount];
            String[] sTranStatus = new String[iCount];
            String[] sThirdCustId = new String[iCount];
            String[] sCustAcctId = new String[iCount];
            String[] sCustAcctName = new String[iCount];
            String[] sTranAmount = new String[iCount];
            String[] sTranDate = new String[iCount];
            String[] sTranTime = new String[iCount];
            String[] sFrontLogNo = new String[iCount];
            String[] sThirdLogNo = new String[iCount];
            String[] sNote = new String[iCount];
            String[] sNote2 = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sTranFlag[index] = array[i++];
                    sTranStatus[index] = array[i++];
                    sThirdCustId[index] = array[i++];
                    sCustAcctId[index] = array[i++];
                    sCustAcctName[index] = array[i++];
                    sTranAmount[index] = array[i++];
                    sTranDate[index] = array[i++];
                    sTranTime[index] = array[i++];
                    sFrontLogNo[index] = array[i++];
                    sThirdLogNo[index] = array[i++];
                    sNote[index] = array[i++];
                    sNote2[index] = array[i++];
                    index++;
                }
            }

            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("TranFlag", sTranFlag);
            retKeyDict.put("TranStatus", sTranStatus);
            retKeyDict.put("ThirdCustId", sThirdCustId);
            retKeyDict.put("CustAcctId", sCustAcctId);
            retKeyDict.put("CustAcctName", sCustAcctName);
            retKeyDict.put("TranAmount", sTranAmount);
            retKeyDict.put("TranDate", sTranDate);
            retKeyDict.put("TranTime", sTranTime);
            retKeyDict.put("FrontLogNo", sFrontLogNo);
            retKeyDict.put("ThirdLogNo", sThirdLogNo);
            retKeyDict.put("Note", sNote);
            retKeyDict.put("Note2", sNote2);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6080(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 17 + 4];

            String[] sTranFlag = new String[iCount];
            String[] sTranStatus = new String[iCount];
            String[] sTranAmount = new String[iCount];
            String[] sHandFee = new String[iCount];
            String[] sTranDate = new String[iCount];
            String[] sTranTime = new String[iCount];
            String[] sFrontLogNo = new String[iCount];
            String[] sThirdLogNo = new String[iCount];
            String[] sThirdHtId = new String[iCount];
            String[] sOutCustAcctId = new String[iCount];
            String[] sOutThirdCustId = new String[iCount];
            String[] sOutCustAcctName = new String[iCount];
            String[] sInCustAcctId = new String[iCount];
            String[] sInThirdCustId = new String[iCount];
            String[] sInCustAcctName = new String[iCount];
            String[] sNote = new String[iCount];
            String[] sNote2 = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sTranFlag[index] = array[i++];
                    sTranStatus[index] = array[i++];
                    sTranAmount[index] = array[i++];
                    sHandFee[index] = array[i++];
                    sTranDate[index] = array[i++];
                    sTranTime[index] = array[i++];
                    sFrontLogNo[index] = array[i++];
                    sThirdLogNo[index] = array[i++];
                    sThirdHtId[index] = array[i++];
                    sOutCustAcctId[index] = array[i++];
                    sOutThirdCustId[index] = array[i++];
                    sOutCustAcctName[index] = array[i++];
                    sInCustAcctId[index] = array[i++];
                    sInThirdCustId[index] = array[i++];
                    sInCustAcctName[index] = array[i++];
                    sNote[index] = array[i++];
                    sNote2[index] = array[i++];
                    index++;
                }
            }

            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);

            retKeyDict.put("TranFlag", sTranFlag);
            retKeyDict.put("TranStatus", sTranStatus);
            retKeyDict.put("TranAmount", sTranAmount);
            retKeyDict.put("HandFee", sHandFee);
            retKeyDict.put("TranDate", sTranDate);
            retKeyDict.put("TranTime", sTranTime);
            retKeyDict.put("FrontLogNo", sFrontLogNo);
            retKeyDict.put("ThirdLogNo", sThirdLogNo);
            retKeyDict.put("ThirdHtId", sThirdHtId);
            retKeyDict.put("OutCustAcctId", sOutCustAcctId);
            retKeyDict.put("OutThirdCustId", sOutThirdCustId);
            retKeyDict.put("OutCustAcctName", sOutCustAcctName);
            retKeyDict.put("InCustAcctId", sInCustAcctId);
            retKeyDict.put("InThirdCustId", sInThirdCustId);
            retKeyDict.put("InCustAcctName", sInCustAcctName);
            retKeyDict.put("Note", sNote);
            retKeyDict.put("Note2", sNote2);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6098(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);

            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);

            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);

            String reserve = arryMessage[iCount * 10 + 4];

            String[] sSupAcctId = new String[iCount];
            String[] sCustAcctId = new String[iCount];
            String[] sThirdCustId = new String[iCount];
            String[] sCustName = new String[iCount];
            String[] sIdType = new String[iCount];
            String[] sIdCode = new String[iCount];
            String[] sAcctId = new String[iCount];
            String[] sBankType = new String[iCount];
            String[] sBankName = new String[iCount];
            String[] sBankCode = new String[iCount];
            String[] sSBankCode = new String[iCount];
            String[] sMobilePhone = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sSupAcctId[index] = array[i++];
                    sCustAcctId[index] = array[i++];
                    sThirdCustId[index] = array[i++];
                    sCustName[index] = array[i++];
                    sIdType[index] = array[i++];
                    sIdCode[index] = array[i++];
                    sAcctId[index] = array[i++];
                    sBankType[index] = array[i++];
                    sBankName[index] = array[i++];
                    sBankCode[index] = array[i++];
                    sSBankCode[index] = array[i++];
                    sMobilePhone[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("SupAcctId", sSupAcctId);
            retKeyDict.put("CustAcctId", sCustAcctId);
            retKeyDict.put("ThirdCustId", sThirdCustId);
            retKeyDict.put("CustName", sCustName);
            retKeyDict.put("IdType", sIdType);
            retKeyDict.put("IdCode", sIdCode);
            retKeyDict.put("AcctId", sAcctId);
            retKeyDict.put("BankType", sBankType);
            retKeyDict.put("BankName", sBankName);
            retKeyDict.put("BankCode", sBankCode);
            retKeyDict.put("SBankCode", sSBankCode);
            retKeyDict.put("MobilePhone", sMobilePhone);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6108(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 7 + 4];

            String[] sHisDate = new String[iCount];
            String[] sCustType = new String[iCount];
            String[] sCheckStatus = new String[iCount];
            String[] sCheckMsg = new String[iCount];
            String[] sTotalAmount = new String[iCount];
            String[] sClearStatus = new String[iCount];
            String[] sClearMsg = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sHisDate[index] = array[i++];
                    sCustType[index] = array[i++];
                    sCheckStatus[index] = array[i++];
                    sCheckMsg[index] = array[i++];
                    sTotalAmount[index] = array[i++];
                    sClearStatus[index] = array[i++];
                    sClearMsg[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);

            retKeyDict.put("HisDate", sHisDate);
            retKeyDict.put("CustType", sCustType);
            retKeyDict.put("CheckStatus", sCheckStatus);
            retKeyDict.put("CheckMsg", sCheckMsg);
            retKeyDict.put("TotalAmount", sTotalAmount);
            retKeyDict.put("ClearStatus", sClearStatus);
            retKeyDict.put("ClearMsg", sClearMsg);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6109(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 10 + 4];
            String[] sFeeFlag = new String[iCount];
            String[] sStartDate = new String[iCount];
            String[] sEndDate = new String[iCount];
            String[] sFeeDate = new String[iCount];
            String[] sTotalAmount = new String[iCount];
            String[] sTranStatus = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sFeeFlag[index] = array[i++];
                    sStartDate[index] = array[i++];
                    sEndDate[index] = array[i++];
                    sFeeDate[index] = array[i++];
                    sTotalAmount[index] = array[i++];
                    sTranStatus[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("FeeFlag", sFeeFlag);
            retKeyDict.put("StartDate", sStartDate);
            retKeyDict.put("EndDate", sEndDate);
            retKeyDict.put("FeeDate", sFeeDate);
            retKeyDict.put("TotalAmount", sTotalAmount);
            retKeyDict.put("TranStatus", sTranStatus);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6114(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 10 + 4];
            String[] sHisDate = new String[iCount];
            String[] sLastBalance = new String[iCount];
            String[] sLastAmount = new String[iCount];
            String[] sLastFreezeAmount = new String[iCount];
            String[] sLastNewWaitAmount = new String[iCount];
            String[] sLastWaitAmount = new String[iCount];
            String[] sStatus = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sHisDate[index] = array[i++];
                    sLastBalance[index] = array[i++];
                    sLastAmount[index] = array[i++];
                    sLastFreezeAmount[index] = array[i++];
                    sLastNewWaitAmount[index] = array[i++];
                    sLastWaitAmount[index] = array[i++];
                    sStatus[index] = array[i++];
                    index++;
                }

            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);
            retKeyDict.put("HisDate", sHisDate);
            retKeyDict.put("LastBalance", sLastBalance);
            retKeyDict.put("LastAmount", sLastAmount);
            retKeyDict.put("LastFreezeAmount", sLastFreezeAmount);
            retKeyDict.put("LastNewWaitAmount", sLastNewWaitAmount);
            retKeyDict.put("LastWaitAmount", sLastWaitAmount);
            retKeyDict.put("Status", sStatus);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6010(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalCount = arryMessage[0];
            String BeginNum = arryMessage[1];
            String LastPage = arryMessage[2];
            String RecordNum = arryMessage[3];
            int iCount = Integer.parseInt(RecordNum);
            int iBegin1 = bodyMessage.indexOf(Constant.MESSAGE_SPILT);
            String ArrayContent = bodyMessage.substring(iBegin1 + 1);
            int iBegin2 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin2 + 1);
            int iBegin3 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin3 + 1);
            int iBegin4 = ArrayContent.indexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(iBegin4 + 1);
            int iEnd1 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd1);
            int iEnd2 = ArrayContent.lastIndexOf(Constant.MESSAGE_SPILT);
            ArrayContent = ArrayContent.substring(0, iEnd2);
            String reserve = arryMessage[iCount * 7 + 4];

            String[] sCustAcctId = new String[iCount];
            String[] sCustType = new String[iCount];
            String[] sThirdCustId = new String[iCount];
            String[] sCustName = new String[iCount];
            String[] sTotalBalance = new String[iCount];
            String[] sTotalTranOutAmount = new String[iCount];
            String[] sTranDate = new String[iCount];
            if ((iCount > 0)) {
                String[] array = (ArrayContent + " ").split(Constant.MESSAGE_SPILT);
                int index = 0;
                for (int i = 0; i < array.length; ) {
                    sCustAcctId[index] = array[i++];
                    sCustType[index] = array[i++];
                    sThirdCustId[index] = array[i++];
                    sCustName[index] = array[i++];
                    sTotalBalance[index] = array[i++];
                    sTotalTranOutAmount[index] = array[i++];
                    sTranDate[index] = array[i++];
                    index++;
                }
            }
            retKeyDict.put("TotalCount", TotalCount);
            retKeyDict.put("BeginNum", BeginNum);
            retKeyDict.put("LastPage", LastPage);
            retKeyDict.put("RecordNum", RecordNum);

            retKeyDict.put("CustAcctId", sCustAcctId);
            retKeyDict.put("CustType", sCustType);
            retKeyDict.put("ThirdCustId", sThirdCustId);
            retKeyDict.put("CustName", sCustName);
            retKeyDict.put("TotalBalance", sTotalBalance);
            retKeyDict.put("TotalTranOutAmount", sTotalTranOutAmount);
            retKeyDict.put("TranDate", sTranDate);

            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6011(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String LastBalance = arryMessage[0];
            String CurBalance = arryMessage[1];
            String reserve = arryMessage[2];

            retKeyDict.put("LastBalance", LastBalance);
            retKeyDict.put("CurBalance", CurBalance);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6037(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String TotalAmount = arryMessage[1];
            String TotalBalance = arryMessage[2];
            String TotalFreezeAmount = arryMessage[3];
            String custAcctId = arryMessage[0];
            String reserve = arryMessage[4];

            retKeyDict.put("CustAcctId", custAcctId);
            retKeyDict.put("TotalAmount", TotalAmount);
            retKeyDict.put("TotalBalance", TotalBalance);
            retKeyDict.put("TotalFreezeAmount", TotalFreezeAmount);
            retKeyDict.put("Reserve", reserve);
        }
    }

    private void spiltMessage_6092(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String custAcctId = arryMessage[0];
            String reserve = arryMessage[1];

            retKeyDict.put("CustAcctId", custAcctId);
            retKeyDict.put("Reserve", reserve);
        }
    }


    private void spiltMessage_Phone(HashMap retKeyDict) {
        if (retKeyDict.containsKey(Constant.BOBY_MSG)) {
            String bodyMessage = (String) retKeyDict.get(Constant.BOBY_MSG);
            String[] arryMessage = (bodyMessage + " ").split(Constant.MESSAGE_SPILT);
            String SerialNo = arryMessage[1];
            String reserve = arryMessage[2];
            String RevMobilePhone = arryMessage[0];

            retKeyDict.put("SerialNo", SerialNo);
            retKeyDict.put("RevMobilePhone", RevMobilePhone);
            retKeyDict.put("Reserve", reserve);
        }
    }

}
